package hcn.protocol.ods.newdiagnosis;/**
 * @Auther: Administrator
 * @Date: 2019/4/22 20:10
 * @Description:
 */

import hcn.protocol.base.hisPlateform.BaseHisPlateformClpInfoXmlRequest;
import hcn.protocol.base.hisPlateform.BaseHisPlateformPatientXmlRequest;
import lombok.*;

import java.util.List;

/**
 * @Author: zhusm@bsoft.com.cn
 *
 * @Description: 支付确认请求参数
 *
 * @Create: 2019-04-22 20:10
 **/
@NoArgsConstructor
@Data
@AllArgsConstructor
@Builder
@ToString
public class NewNotifyPayedRequestBean {

    /**
     * organizationId : 医院代码
     * patientId : 病人标识
     * invoiceNumber : 发票号码string
     * payMode : 支付方式（1-支付宝/2-微信/3-银联）
     * payState : 支付标志
     * agtOrderNumber : 对应收单机构（如财付通、支付宝、银联等机构） 用于标识一笔支付交易的流水号
     * payAmount : 付款金额
     * identificationNumbers : 识别序号，多个以逗号分隔
     * outOrderNumber : 商户订单号
     * channelOrderNumber : channelOrderNumber
     * notify : 支付成功时的通知信息
     * paymentBudgetNumber : 预结算标识（每次预结算都唯一的标识）
     * payTime : 实际支付时间
     * payer : 付款人
     * totalFee  : 自付金额
     * feeRecords : [{"feeNo":"收费单据标识","feeTypeCode":"收费单据类型"}]
     */

    private String orgId;
    private String organizationId;
    //医技机构代码
    private String medicalTechnologyOrgCode;
    private String patientId;
    private String visitId;
    private String invoiceNumber;
    private String payMode;
    private String payState;
    private String agtOrderNumber;
    private double payAmount;
    private String outOrderNumber;
    private String channelOrderNumber;
    private String notify;
    private String paymentBudgetNumber;
    private String payTime;
    private String payer;
    private double totalFee ;
    private List<NotifyPayedRequestFeeRecordBean> feeRecords;
    private BaseHisPlateformPatientXmlRequest patient;
    private List<BaseHisPlateformClpInfoXmlRequest> clpInfos;
    private String hisUrl;
    private List<String> voucherIdList;
    @NoArgsConstructor
    @Data
    @AllArgsConstructor
    @Builder
    @ToString
    public static class NotifyPayedRequestFeeRecordBean{
        private String feeNo;
        private String feeTypeCode;
        private String feeTypeName;
    }

}
